Initialize McFly only in interactive shell #428
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the current setup for Bash and Fish, only keybindings are disabled in non-interactive shells, but the other settings (including
PROMPT_COMMAND
,MCFLY_SESSION_ID
, etc.) are still loaded. Do they need to be loaded in the non-interactive shells? On the other hand, in the Zsh setup, they are not enabled in non-interactive shells because there is a check[[ -o interactive ]]
at the beginning ofmcfly.zsh
(though there is an extra check for the interactive shell also for the keybindings in Zsh).In this PR, I suggest skipping all the initialization in non-interactive shells to make it consistent with Zsh, which I guess is the natural behavior. I also remove the redundant check for the interactive shells in the later part of the Zsh integration.
If these settings (other than keybindings) are intentionally enabled in non-interactive shells of Bash and Fish, please let me know. I can adjust or close the PR. Thank you.